package javase2.day09.demo03;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

/*
文件复制练习：一读一写
    明确：
        1.数据源地址：C:\Users\86191\Pictures
        2.数据目的地地址：D:\qq文件\JAVA1

    步骤：
        1.创建一个字节输入流对象，构造方法中绑定要读取的数据源
        2.创建一个字节输出流对象，构造方法中绑定要输出的数据地址
        3.字节输入流的对象使用方法read()读取数据
        4.字节输出流的对象使用方法write()写入数据
        5.释放资源
 */
public class Demo01CopyFile {
    public static void main(String[] args) throws IOException {
        long s = System.currentTimeMillis();
        //1.创建一个字节输入流对象，构造方法中绑定要读取的数据源
        FileInputStream fis = new FileInputStream("C:\\Users\\86191\\Pictures\\1.jpg");
        //2.创建一个字节输出流对象，构造方法中绑定要输出的数据地址
        FileOutputStream fos = new FileOutputStream("D:\\qq文件\\JAVA1\\1.jpg");

       /* //3.字节输入流的对象使用方法read()读取数据
        int len=0;
        while ((len=fis.read())!=-1){
            // 4.字节输出流的对象使用方法write()写入数据
            fos.write(len);
        }*/

        //优化：使用数组缓冲读取多个字节
        byte[] bytes =new byte[0124];
        int len=0;
        //3.字节输入流的对象使用方法read()读取数据
        while ((len=fis.read(bytes))!=-1){
            // 4.字节输出流的对象使用方法write()写入数据
            fos.write(bytes,0,len);
        }


        // 5.释放资源.写完必读完所以先关闭输出流，再关闭输入流
        fos.close();
        fis.close();
        long e = System.currentTimeMillis();
        System.out.println("共耗时："+(e-s)+"毫秒");
    }
}
